package com.rd.student.jiaji.class1.jinhongyu.day0731;

public class Random5020 {
    public static void main(String[] args) {
        ////1
//        int[] arr1= new int[20];
//        int a = 0;
//        for (int i = 0; i < 20; i++) {
//            int index = (int) (Math.random() * 50);
//            boolean b = false;
//            for (int j = 0; j < a; j++) {
//                if (index == arr1[j]) {
//                    b = true;
//                    break;
//                }
//            }
//            if (!b) {
//                arr1[a] = index;
//                a++;
//            }
//            if (b) {
//                i--;
//                continue;
//            }
//        }
//        for (int i = 0; i < arr1.length; i++) {
//            System.out.print(arr1[i]+" ");
//        }
//
//


        System.out.println();


        ////2
//        int[] indexArr1 = new int[50];
//        for (int i = 0; i < indexArr1.length; i++) {
//            indexArr1[i] = -1;
//        }
//        System.out.println(Arrays.toString(indexArr1));
//        for (int i = 0; i < 20; i++) {
//            int random = (int) (Math.random() * 50);
//            if (indexArr1[random] == -1) {
//                indexArr1[random] = random;
//                System.out.println("本次随机出：" + random);
//                System.out.println(Arrays.toString(indexArr1));
//            } else {
//                System.out.println("已经随机过：" + random);
//                i--;
//            }
//        }

        System.out.println();


        ////3
//        List<Integer> list1 = new ArrayList<>(20);
//        for (int i = 0; i < 20; i++) {
//            int random = (int) (Math.random() * 50);
//            if (list1.contains(random)) {
//                System.out.println("已经随机过: " + random);
//                i--;
//                continue;
//            }
//            list1.add(random);
//            System.out.println(random);
//        }
//        System.out.println(list1);


        System.out.println();

        ////4
//        List<String> list2 = new ArrayList<>();
//        while (list2.size() < 20) {
//            int random = (int) (Math.random() * 50);
//            String ele = String.valueOf(random);
//            if (!list2.contains(ele)) {
//                System.out.println("添加元素：" + ele);
//                list2.add(ele);
//            } else {
//                System.out.println("重复元素：" + ele);
//            }
//        }
//        System.out.println(list2);

        System.out.println();


        ////5
//        int[] intArr = new int[50];
//        List<String> allList = new ArrayList<>();
//
//        for (int i = 0; i < intArr.length; i++) {
//            intArr[i] = i;
//        }
//
//        for (int i = 0; i < intArr.length; i++) {
//            allList.add(String.valueOf(intArr[i]));
//        }
//
////        System.out.println(allList.size());
//
//        for (int i = 0; i < 20; i++) {
//            int random = (int) (Math.random() * allList.size());
//            System.out.print(allList.get(random));
//            System.out.println("随机并移除" + allList.get(random));
//            allList.remove(random);
//        }
//
////        System.out.println(allList.size());

        System.out.println();

        ////6
//        Set<String> set = new HashSet<>();
//        while (set.size() < 20) {
//            int random = (int) (Math.random() * 50);
//            System.out.println("随机的结果：" + random);
//            set.add(String.valueOf(random));
//        }
//        System.out.println("最终的结果");
//        System.out.println(set);

        System.out.println();

        ////7
//        List<Integer> numbers = new ArrayList<>();
//        for (int i = 0; i < 50; i++) {
//            numbers.add(i);
//        }
//        Collections.shuffle(numbers);
//        for (int i = 0; i < 20; i++) {
//            System.out.print(numbers.get(i)+" ");
//        }
    }
}
